home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
hornet.scene.org
/
hornet.scene.org FTP 11-25-2012.zip
/
hornet.scene.org FTP 11-25-2012
/
code
/
library
/
i3ddemo2.exe
/
I3D_Q&A.TXT
< prev
next >
Wrap
Text File
|
1994-04-28
|
3KB
|
60 lines
Here are some common questions and answers about the I3D tool kit:
------------------------------------------------------------------
Q: Can I use I3D with Pascal? (or COBAL, or Prolog, or Visual Basic...)
A: I3D is designed to be used with C or C++. If you'd like to use
I3D with another language, we suggest that you learn C instead, it
is the industry standard for graphics after all.
If you MUST use another language that can use DLL's, you can buy the
full C source and compile it as a DLL.
Q: Why doesn't I3D run as fast as Game_X?
A: I3D is a flexible 3D raycasting engine that gives similar performance
to early 3D games. It allows many features that other engines do not.
This flexibility comes at a small cost in raw speed.
Be sure that you are comparing I3D's performance with the same size window,
same features, etc. You will find that I3D's performance on 486/33
or better machines to be comparable to most other raycasting engines
when run with a similar setup.
Q: Why does I3D run slowly under Windows?
A: Once again, compare the SAME SIZE window and you will see that I3D only
runs about 15% slower under windows than DOS. (The Windows demo shows
a 320x200 window.) This performance loss is due to the slowness of
Window's bliting. Some high performance VGA cards may improve this.
You can also substitute the new VFW 1.1 DrawDIB routines for StretchDIBits,
for about a 10% improvement in speed. You'll need the VFW 1.1 developer
kit to do this.
Q: Why doesn't I3D have a .DLL?
A: The I3D engine is designed to work closely with the main C program. For
instance, many data structures are passed via pointers. This would not
be very easy to make work with a generic DLL. It is possible to wrap
the I3D .LIB into a .DLL, we just didn't think it was worth the trouble.
Q: Why isn't I3D completly written in hand-tuned assembly code?
A: Basically hand tuned assembly code is great for the inner-loops. A bit of
I3D (16-bit version) is in-line assemby code. Most of I3D is straight
C, which has helped to save the author's sanity.
Q: What is raycasting?
A: Raycasting a is simplified way of doing a limited 3D enviroment. It lends
itself to texture-mapped interior worlds quite well. It does not involve
3D polygons, Z-buffers, or Phong-shading. Within these limitations,
raycasting can be quite fast - much faster than most texture-mapped
polygon engines.